package com.lq.order.service;

import com.lq.order.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lq.order.entity.dto.OrderDTO;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author lq
 * @since 2025-08-22
 */
public interface IOrderService extends IService<Order> {
    
    /**
     * 根据用户ID获取订单列表
     * @param userId 用户ID
     * @return 订单列表
     */
    List<Order> getOrdersByUserId(Long userId);
    
    /**
     * 根据订单状态获取订单列表
     * @param status 订单状态
     * @return 订单列表
     */
    List<Order> getOrdersByStatus(Integer status);
    
    /**
     * 创建订单
     * @param orderDTO 订单信息
     * @return 是否创建成功
     */
    boolean createOrder(OrderDTO orderDTO);
    
    /**
     * 更新订单状态
     * @param orderId 订单ID
     * @param status 订单状态
     * @return 是否更新成功
     */
    boolean updateOrderStatus(Long orderId, Integer status);
    
    /**
     * 取消订单
     * @param orderId 订单ID
     * @return 是否取消成功
     */
    boolean cancelOrder(Long orderId);
}